from pyspark import SparkConf, SparkContext

if __name__ == '__main__':
    conf = SparkConf().setAppName("test").setMaster("local[*]")
    sc = SparkContext(conf=conf)

    # 对RDD数据进行排序，基于你指定的排序数据
    rdd1 = sc.parallelize([('a', 1), ('a', 3), ('b', 2), ('b', 4), ('b', 1)])

    # 按照value 数字进行排序
    # 参数1函数，表示 告知spark 按照数据的哪个列进行排序
    # 参数2：True表示升序  False表示降序
    # 参数3：排序的分区数
    print(rdd1.sortBy(lambda x: x[1], ascending=True, numPartitions=3).collect())

    # 按照key进行排序
    print(rdd1.sortBy(lambda x: x[0], ascending=False, numPartitions=1).collect())
